﻿#include "M2P_Serial_Console.h"
#include "M2M_Serial_Console.h"
#include "USART1_DMA.h"
#include "USART2_DMA.h"
#include "servo.h"
#include "pstwo.h"
#include "NumTOStr.h"


u8 Flag_M2PSend=0,Flag_AutoServo=0;
u8 M2PSerial_RxCmd[M2PSerial_CmdUnit+1]="";//接收容器
u8 M2PSerial_TxCmd[M2PSerial_CmdUnit+1]="J000000000\r\n";//发送容器

u16 M2PSerial_TxRoutine_10ms=5;

void M2PSerial_Control(void)
{
    if(Flag_M2PSend)
    {
        M2PSerial_CmdToTx();
        Flag_M2PSend=0;
    }
}
void M2PSerial_RxToCmd(void)  //将接收到的串口数据转换为程控指令
{
    
}
void M2PSerial_CmdToTx(void) //将程控指令转换为串口数据发送出去
{
    int i;
    if(Flag_AutoServo)
    {
        NumtoStr_4digit((int)PS2_ServoPosition[0],M2PSerial_TxCmd,4);
        NumtoStr_4digit((int)PS2_ServoPosition[1],M2PSerial_TxCmd,6);
        ServoChannel0=1;//继电器切换给树莓派控制通道
        ServoChannel1=1;
    }
    else
    {
        for(i=1;i<=9;i++)
        {
            M2PSerial_TxCmd[i]=0;
        }
        ServoChannel0=0;//继电器切换回stm32控制通道
        ServoChannel1=0;
    }
    DMA_USART1_Tx_Data(M2PSerial_TxCmd,M2PSerial_CmdUnit);
}

void M2PSerial_ConnectionStatueCheck(void)		//检查连接状态，报心跳接收超时和发送无反应出错
{

}
void M2PSerial_ErrorReaction(void)   //判断串口数据的错误反馈并作出反应
{

}
